Ext.define('iMedproplus.controller.MenuController', {
    extend: 'Ext.app.Controller',
    alias: 'controller.menucontroller',
    

    models: [
    'iMedproplus.model.StructureTree',
    'iMedproplus.model.OrganizationStructure',
    'iMedproplus.model.Patient',
    'iMedproplus.model.Icd9',
    'iMedproplus.model.User',
    'iMedproplus.model.Staff'
    ],
    
    stores: [
    'iMedproplus.store.StructureTree',
    'iMedproplus.store.OrganizationStructure',
    'iMedproplus.store.Patient',
    'iMedproplus.store.Icd9',
    'iMedproplus.store.User',
    'iMedproplus.store.Staff'
    ],
    
    views: [
    'iMedproplus.view.admin.structure.StructureWindow',
    'iMedproplus.view.component.DictionaryComboBox',
    'iMedproplus.view.admin.structure.TreePanel',
    'iMedproplus.view.patient.PatientWindow',
    'iMedproplus.view.patient.PatientGrid',
    'iMedproplus.view.admin.UploadWindow',
    'iMedproplus.view.admin.dictionary.Icd9Grid',
    'iMedproplus.view.admin.dictionary.Icd9Window',
    'iMedproplus.view.admin.user.UserGrid',
    'iMedproplus.view.admin.user.UserWindow',
    'iMedproplus.view.admin.user.PasswordForm',
    'iMedproplus.view.admin.staff.StaffWindow',
    'iMedproplus.view.admin.staff.StaffGrid',
    ],
    
    init: function() {
        this.control({
            'develcontainer' : {
                strucutreButtonClick : this.onStrucutreButtonClick,
                patientButtonClick : this.onPatientButtonClick,
                uploadButtonClick : this.onUploadButtonClick,
                icd9ButtonClick : this.onIcd9ButtonClick,
                userButtonClick : this.onUserButtonClick,
                staffButtonClick: this.onStaffButtonClick
            }
        });

    },
    
    onStrucutreButtonClick: function(){
        Ext.widget('adminstructurewindow').show();
    },
    
    onPatientButtonClick: function(){
        Ext.widget('patientwindow').show();
    },
    
    onUploadButtonClick: function(){
        Ext.widget('adminuploadwindow').show();
    },
    
    onIcd9ButtonClick: function(){
        Ext.require('Ext.grid.PagingScroller', function(){
            Ext.App.getStore('iMedproplus.store.Icd9').prefetch({
                start: 0,
                limit: 100,
                callback: function() {
                    Ext.App.getStore('iMedproplus.store.Icd9').guaranteeRange(0, 99);
                    Ext.widget('admindictionaryicd9window').show();
                }
            }); 
        });
    },
    onUserButtonClick: function(){
        var user = Ext.widget('adminuserwindow');
        Ext.App.getController('iMedproplus.controller.admin.User').currentWindow = user;
        user.show();
    },
    
    onStaffButtonClick: function(){
        Ext.widget('adminstaffwindow').show();
    }
    
});